The present technology of compressing and decompressing data may be employed for various equipment units in various fields, and is used in, for example, video cameras. Certain video cameras offer a wide variety of resolutions and speeds to accommodate many applications. Video cameras work over many protocols including TCP (Transmission Control Protocol) /IP (Internet Protocol), HTTP (Hypertext Transfer Protocol), UDP (User Datagram Protocol), ICMP (Internet Control Message Protocol), ARP (Address Resolution Protocol), DHCP (Dynamic Host Configuration Protocol), NTP (Network Time Protocol), RTP (Real Time Transport Protocol), RTSP (Real Time Streaming Protocol), RTCP (Real Time Control Protocol), SMTP (Simple Mail Transfer Protocol), IGMP (Internet Group Management Protocol), UPnP (Universal Plug and Play), for example, and are power over Ethernet (PoE, IEEE 802.3af) capable.
Such video cameras may employ various video compression techniques such as motion JPEG (Joint Photographic Experts Group) with multiple compression levels, MPEG (Moving Picture Experts Group) with SP (Service Pack) (Level 3), ASP (Active Server Pages) (Level 5), H.264 (MPEG4 AVC (Advanced Video Coding) such as baseline (Level 3). Such cameras may employ various video streaming techniques such as simultaneous dual encoding for MJPEG (Motion Joint Photographic Experts Group) and MPEG4 or H.264, multistreaming for MJPEG, VBR (Variable Bitrate) and CBR (Constant Bitrate) for MPEG4 and H.264, multicast and unicast. Other lossless compression algorithms, such as lossless JPEG, are difficult to implement in FPGA (Field Programmable Gate Array), or take too much resource in FPGA.
While several image data compression and decompression algorithms have been made and used, it is believed that no one prior to the inventors has made or used the image data compression and decompression algorithms described in the appended claims.